package com.woniu.secondhand.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.secondhand.entity.dto.MessageAddDTO;
import com.woniu.secondhand.pojo.SecondhandMessage;
import com.woniu.user.vo.UserLoginVO;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author HMMT
 * @since 2023-05-20
 */
public interface ISecondhandMessageService extends IService<SecondhandMessage> {
    /**
     * 系统根据不同的情况和模板，自动生成并保存相应的消息。
     * 共计有六种消息类型，包括系统通知、被联系成功、购买成功、发货成功、收货成功和评价成功。
     *
     * @param messageAddDTO
     * @param userLoginVO
     * @return
     */
    boolean addMessage(MessageAddDTO messageAddDTO, UserLoginVO userLoginVO);

    /**
     * 因为支付回调接口的特殊性 单独增加了一个添加购买成功的消息的接口
     *
     * @param messageAddDTO
     * @param consumerId
     */
    void addBuySuccessMessage(MessageAddDTO messageAddDTO, Integer consumerId);

    /**
     * 用户可以将系统消息标记为已读状态，以便管理自己的消息通知。
     *
     * @param messageId
     */
    void readMessage(String messageId);
}
